// 用户模块定义
export default {
  // 初始状态
  state: {
    token: '',
    userInfo: null,
    hasLogin: false
  },

  // 需要持久化的字段
  persist: ['token', 'userInfo'],

  // 模块方法
  actions: {
    // 登录
    login(state, userData) {
      this.setState({
        userInfo: userData,
        token: userData.token,
        hasLogin: true
      })
    },

    // 登出
    logout() {
      this.setState({
        userInfo: null,
        token: '',
        hasLogin: false
      })
    },

    // 更新用户信息
    updateUserInfo(state, newInfo) {
      this.setState(prevState => ({
        userInfo: { ...prevState.userInfo, ...newInfo }
      }))
    }
  }
}